學習程式滿一年了,轉職成為工程師也有半年多,這段時間充滿了各式各樣的挑戰,也接收到許多新知識。
這次想透過鐵人賽,來學習新的技術,也一同訓練寫作能力,希望在三十天之後,可以看到不一樣的自己。
目前在公司使用前端框架為 Next.js
,加上團隊近來導入 TypeScript
,於是藉此機會讓自己更積極了解何謂 TypeScript
以及熟練其使用方式,加上目前主流的三大框架 React
、 Vue
和 Angular
都有支援 TypeScript
,因此學起來!!!
TypeScript
是以 JavaScript
為基礎,所建立的程式語言。相對 JavaScript
擁有資料型別檢查與預先定義,可以說是 JavaScript
的延伸版,當然也可以在 TypeScript
使用原生 JS ES6 或 ES5 的語法,但如果有任何不清楚定義或邏輯,造成引發 BUG
風險,TypeScript
將會進一步的拋出 Warning
來提醒我們。
JaveScript
是個自由度高的程式語言,例如變數可以依照賦值來自動轉換該變數型別,這也是直譯式很常見的特性,因此容易學習及上手,這對新手來說福音,但往後有機會成為惡夢。在我們開發過程中,常常會遇到要呼叫 function
時,發現參數帶入後,卻發生錯誤,Debug
還要弄半天,最後才發現型別錯誤。
如果加入 TypeScript
,我們就可以預先定義型別,當我們傳入錯誤型別的參數時,TypeScript
就會直接以錯誤訊息,進一步提醒我們,如此一來,我們的 code
將會更強健。
簡單整理一下,TypeScript
雖然會降低 JaveScript
自由度,多了點約束,但是隨之而來的好處則是讓我們在撰寫上更為嚴謹,減少錯誤的發生。